import { log } from "cc";
import { Facade, IFacade } from "puremvc";

/**
 * 
 * GameFacade
 * leviseek
 * Mon Nov 10 2025 16:13:59 GMT+0800 (中国标准时间)
 * desc
 *
 */
export class GameFacade extends Facade implements IFacade {
    private static _instance: GameFacade

    constructor() {
        super("GameFacade")
    }

    public static get instance(): GameFacade {
        if (!GameFacade._instance) {
            GameFacade._instance = new GameFacade()
        }
        return <GameFacade>GameFacade._instance
    }

    /**
     * 启动PureMVC
     */
    public startUp() {
        log("PureMVC startUp")
    }

    /**
     * 初始化
     */
    public initializeFacade(): void {
        super.initializeFacade()
    }

    /**
     * 初始化数据模型
     */
    public initializeModel(): void {
        super.initializeModel()
    }

    /**
     * 初始化控制器
     */
    public initializeController(): void {
        super.initializeController()
    }

    /**
     * 初始化视图
     */
    public initializeView(): void {
        super.initializeView()
    }
}